Sys.setlocale("LC_CTYPE","pl_PL")
set.seed(92)
library(dplyr)
library(ggplot2)
library(plotly)
library(knitr)
library(VIM)
library(lattice)
library(mice)
library(reshape2)
herrings <-read.csv("sledzie.csv", na.strings = "?")
Na żadnym atrybucie nie brakuje więcej niż 5% wartości, brak podstaw do odrzucenia czy ponownego pomiaru na którymkolwiek atrybucie.
| X | length | cfin1 | cfin2 | chel1 | chel2 | lcop1 | lcop2 | fbar | recr | cumf | totaln | sst | sal | xmonth | nao |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 % | 0 % | 3.01 % | 2.92 % | 2.96 % | 2.96 % | 3.14 % | 3.03 % | 0 % | 0 % | 0 % | 0 % | 3.01 % | 0 % | 0 % | 0 % |
Brakujące wartości występują na siedmiu atrybutach. Rozkład losowy. Zdecydowaną większość stanowią wiersze w której brakuje tylko jednej wartości.
Imputujemy wartości przy użyciu pakietu MICE. Wykresy gęstości, oryginalne dane na niebiesko, wstawione na czerwono. Okazuje się, że w większości przypadków brakujące wartości pochodziły z wąskiego zakresu => brak wartości nie był przypadkowy i zaszedł w tylko w określonych warunkach połowu.
=> rozkłady są zbliżone tylko w małych przedziałach
imputedHerrings <- mice(herrings, m=1, method = "mean", seed= 29, print=FALSE)
densityplot(imputedHerrings)
Tworzymy nową kolekcję danych, już uzupełnioną o brakujące wartości.
completeHerrings <- complete(imputedHerrings, 1)
Korelacja pearsona - defaultowa
Na tej podstawie usuwamy chel1(lcop1), chel2 (silna korelacja z lcop2), fbar(cumf)
completeHerrings <- subset(completeHerrings, select = -c(chel1,chel2, fbar))
Ostatnim etapem jest nadanie nowych, czytelnych nazw kolumnom. TODO: Remove names of removed columns
colnames(completeHerrings) <- c("Połów",
"Długość",
"Calanus finmarchicus gatunek 1",
"Calanus finmarchicus gatunek 2",
# "Calanus helgolandicus gatunek 1",
# "Calanus helgolandicus gatunek 2",
"Widłonogi gatunek 1",
"Widłonogi gatunek 2",
# "Żywy narybek w czasie połowu",
"Złowione śledzie w skali roku",
"Żywy narybek w skali roku",
"Złowione śledzie w czasie połowu",
"Temperatura powierzchni oceanu [°C]",
"Zasolenie wody [‰]",
"MiesiÄ…c",
"NAO")
Zbiór zawiera 52582 obserwacje. 13 zmiennych. Przykładowe rokordy
## Połów Długość Calanus finmarchicus gatunek 1
## 1 0 23.0 0.02778
## 2 1 22.5 0.02778
## 3 2 25.0 0.02778
## 4 3 25.5 0.02778
## 5 4 24.0 0.02778
## 6 5 22.0 0.02778
## Calanus finmarchicus gatunek 2 Widłonogi gatunek 1 Widłonogi gatunek 2
## 1 0.27785 2.54787 26.35881
## 2 0.27785 2.54787 26.35881
## 3 0.27785 2.54787 26.35881
## 4 0.27785 2.54787 26.35881
## 5 0.27785 2.54787 26.35881
## 6 0.27785 2.54787 28.41883
## Złowione śledzie w skali roku Żywy narybek w skali roku
## 1 482831 0.3059879
## 2 482831 0.3059879
## 3 482831 0.3059879
## 4 482831 0.3059879
## 5 482831 0.3059879
## 6 482831 0.3059879
## Złowione śledzie w czasie połowu Temperatura powierzchni oceanu [°C]
## 1 267380.8 14.30693
## 2 267380.8 14.30693
## 3 267380.8 14.30693
## 4 267380.8 14.30693
## 5 267380.8 14.30693
## 6 267380.8 14.30693
## Zasolenie wody [‰] Miesiąc NAO
## 1 35.51234 7 2.8
## 2 35.51234 7 2.8
## 3 35.51234 7 2.8
## 4 35.51234 7 2.8
## 5 35.51234 7 2.8
## 6 35.51234 7 2.8